package base;

import org.junit.Test;

/**
 * 项目名称：Demo01
 * 类 名 称：Demo01
 * 类 描 述：TODO
 * 创建时间：2021/03/11 20:49
 * 创 建 人：XiaoCoder
 */
public class Demo01 {

    //问题一：hashCode()有什么用?与a.equals(b)有什么关系
    @Test
    public void Demo01() {
        // hashCode()是为对象产生唯一的标识，
        String a = "重力";
        int i = a.hashCode();
        String b = "hahah";
        int i1 = b.hashCode();
        System.out.println(i + " " + i1);
    }

    /*
    * 问题二
    * 下面这段java代码，当 T 分别是引用类型和值类型的时候，分别产生了多少个 T对象和T类型的值（）
        T t = new T();(值类型时:T t;)
        Func(t);
        Func 定义如下：
        public void Func(T t) {  }
    *
    */
    @Test
    public void Demo02(){
        String t = new String("123");
        System.out.println("第一个创建的t的hashcode:"+t.hashCode());
        Func(t);
    }

    private void Func(String t) {
        System.out.println("复制的t的hashcode:"+t.hashCode());
    }

}
